\chapter{Prerekvizity k~posunování pólů}\label{sec:prerekvizity}


	Mějme lineární časově invariantní systém
	\begin{equation}
	\dot{x}(t) =Ax(t)+Bu(t)\,,\label{eq:REsystem}\\
	\end{equation}
	kde $A \in \mathbb{R}^{n \times n}$, $B\in \mathbb{R}^{n\times m}$. Dále mějme kvadratické kritérium s~nekonečným horizontem optimalizace
	\begin{equation}
	J =\frac{1}{2} \int_0^\infty\left( x^{\rm T}(t)Qx(t) +u^{\rm T}(t)Ru(t) \right){\rm d}t\,,
	\label{eq:REkriterium}
	\end{equation}
	kde $Q\in \mathbb{R}^{n\times n}$ a $R \in \mathbb{R}^{m\times m}$. $Q\geq 0$, $R>0$.
	Dále budeme předpokládat, že systém \eqref{eq:REsystem} je stabilizovatelný (všechny nestabilní póly jsou řiditelné).% a dvojice $(A,\Gamma)$ kde $\Gamma^{\rm T}\Gamma = Q$ je detekovatelná.  

	Obvyklou úlohou optimálního řízení je hledání zákona řízení $u(t)  = Fx(t)$, který převede libovolný počáteční stav $x(0)$ do rovnovážného stavu a zároveň minimalizuje kritérium \eqref{eq:REkriterium}. V~naší práci budeme na tento problém nahlížet jinak. Pro zadaný pól systému \eqref{eq:REsystem} budeme hledat oblast v~komplexní rovině, pro kterou existuje  kvadraticky optimální regulátor minimalizující kritérium \eqref{eq:REkriterium} tak, aby zároveň platily výše uvedené předpoklady. Pro každý bod této oblasti poté nalezneme vztah pro výpočet váhových matic $Q$ a $R$. K~řešení problému použijeme následující postup:
	%Budeme aplikovat následující postup:

%\begin{algoritmus}[Obecně o~posunování pólů]
\begin{algoritmusprvni}[Obecně o~posunování pólů]
\label{postup:obecne}

	\begin{enumerate}

	\item \label{item:tamTransf} Transformace systému do Jordanova kanonického tvaru -- transformace se netýká pouze rovnice \eqref{eq:REsystem}, ale také kritéria a řešení algebraické Riccatiho rovnice (ARE).
	\item Volba struktury váhových matic pro již transformovaný systém.
	\item Vyjádření Hamiltonovy matice ve tvaru \eqref{eq:hamilton_matrix}.

	\item Analýza charakteristického polynomu Hamiltonovy matice -- ten určuje póly uzavřené smyčky.
	\item \label{item:zpetTransf} Zpětná transformace systému.
	\end{enumerate}

\end{algoritmusprvni}



	V~této kapitole bude ještě rozebrána transformace systému -- body \ref{item:tamTransf} a \ref{item:zpetTransf} postupu \ref{postup:obecne}. Ostatní body jsou odlišné pro různé druhy pólů.
\section{Transformace do Jordanova kanonického tvaru}
Mějme podobnostní transformaci vyjádřenou pomocí $T\in \mathbb{C}^{n\times n}$, která převede matici $A$ do  komplexního Jordanova kanonického tvaru 
\begin{equation}
\widetilde{A}= T^{-1}AT, \quad \widetilde{B} = T^{-1}B\,.
\end{equation}
$\widetilde{A}$ a $\widetilde{B}$ jsou potom také komplexní matice. 
Pravé vlastní vektory $A$ jsou sloupce matice $T$, označme je $v_1,v_2,\ldots,v_n$. Levé vlastní vektory $A$ jsou řádky $T^{-1}$, označme  je $w_1^{\rm T}, w_2^{\rm T},\ldots,w_n^{\rm T}$.
Transformací matice dynamiky $A$ dojde i k~transformaci stavového vektoru $x(t) = T\xi(t)$.
\begin{align}
\dot{x}(t)  &= Ax(t) + Bu(t)\,,\nonumber\\
\dot{x}(t)  &= T\widetilde{A}T^{-1}x(t) + T\widetilde{B}u(t)\,,\nonumber\\
T^{-1}\dot{x}(t) &= \widetilde{A}T^{-1}x(t) + T^{-1}T\widetilde{B}u(t)\,,\nonumber\\
\dot{\xi}(t) &= \widetilde{A}\xi(t) + \widetilde{B}u(t)\,.
\end{align}
Vstup do systému zůstane beze změny. Transformace stavového vektoru se projeví i v~kritériu \eqref{eq:REkriterium}, kam dosadíme novou stavovou proměnnou $\xi(t)$
\begin{align}
J &=\frac{1}{2} \int_0^\infty\left( \xi^{\rm H}(t)T^{\rm H}QT\xi(t) +u^{\rm T}(t)Ru(t) \right){\rm d}t\,,\nonumber\\
J &=\frac{1}{2} \int_0^\infty\left( \xi^{\rm H}(t)\widetilde{Q}\xi(t) +u^{\rm T}(t)Ru(t) \right){\rm d}t\,.
\end{align}
Dostáváme tedy $Q = T^{\rm -H}\widetilde{Q}T^{-1}$, matice $R$ zůstává beze změny (vstup $u(t)$ není poznamenán transformací).

Zaměřme se ještě na řešení ARE v~situaci, kdy pracujeme s~transformovaným systémem. Předpokládejme, že $P$ je řešení ARE. Potom optimální vstup do systému je dán zákonem řízení \eqref{eq:controlLawInvariant}
\begin{equation}
u(t) = -R^{-1}B^{\rm T}Px(t) = F x(t)\,.
\label{eq:REcontrollaw}
\end{equation}
Dosazením transformovaných veličin odvodíme  vztah pro transformované řešení ARE.
\begin{align}
u(t)&= -R^{-1}\widetilde{B}^{\rm H}T^{\rm H}PT\xi(t)\,,\nonumber\\
u(t)&= -R^{-1}\widetilde{B}^{\rm H}\widetilde{P}\xi(t)\,.\label{eq:REzakonrizeniTransf}
\end{align}
Z~rovnice \eqref{eq:REzakonrizeniTransf} potom plyne $P = T^{\rm -H}\widetilde{P}T^{-1}$.
Nyní můžeme aplikovat všechny výše uvedené transformace na Hamiltonovu matici, abychom ji dostali do tvaru
\begin{align}
H &= \begin{bmatrix}
T & 0 \cr
0 & T^{\rm -H}
\end{bmatrix}
\begin{bmatrix}
\widetilde{A}  & -\widetilde{B}R^{-1}\widetilde{B}^{\rm H} \cr
-\widetilde{Q} & -\widetilde{A}^{\rm H}\cr
\end{bmatrix}
\begin{bmatrix}
T^{-1} & 0 \cr
0 & T^{\rm H}
\end{bmatrix},
\label{eq:REhamiltonMatrixTransformed}\\
\widetilde{H} &\triangleq \begin{bmatrix}
\widetilde{A}  & -\widetilde{B}R^{-1}\widetilde{B}^{\rm H} \cr
-\widetilde{Q} & -\widetilde{A}^{\rm H}\cr
\end{bmatrix},\label{eq:REhamiltonMatrixTransformeddef}\quad
U \triangleq \begin{bmatrix}
T & 0 \cr
0 & T^{\rm -H}
\end{bmatrix}\,,\\
H &= U \widetilde{H} U^{-1}\,.
\end{align}
Stejně tak všechny transformace použijeme v~ARE.
\begin{align}
	 A^{\rm T}P + PA - PBR^{-1}B^{\rm T}P +Q &=0\,,\nonumber\\
 T^{\rm -H}\widetilde{A}^{\rm H}T^{\rm H}T^{\rm -H}\widetilde{P}T^{-1}+
 T^{\rm -H}\widetilde{P}T^{-1}T\widetilde{A}T^{-1}
- \mbox{~~~~~~~~~}& \nonumber\\ -
T^{\rm -H}\widetilde{P}T^{-1}T\widetilde{B}R^{-1}\widetilde{B}^{\rm H}T^{\rm H}T^{\rm -H}\widetilde{P}T^{-1} +
T^{\rm -H}\widetilde{Q}T^{-1} &=0\,,\nonumber\\
T^{\rm -H} \left( \widetilde{A}^{\rm H}\widetilde{P}+ \widetilde{P}\widetilde{A}  -
\widetilde{P}\widetilde{B}R^{-1}\widetilde{B}^{\rm H}\widetilde{P} + \widetilde{Q} \right)T^{-1} &= 0\,. \label{eq:AREJordan}
\end{align}
Ukazuje se tedy, že řešení algebraické Riccatiho rovnice lze počítat pomocí transformovaných matic.

\section{Iterativní posunování pólu po pólu}\label{sec:iterace}
V~tomto oddíle probereme dva způsoby, kterými lze iterativně posunovat pól po pólu do příslušné polohy v~uzavřené smyčce. Pro označení iterace budeme používat dolní index a písmeno $i$.

U~prvního způsobu budeme předpokládat, že váhová matice vstupu je stejná v~každé iteraci posunování pólů. Označme tuto situaci $R=R_i$. V~druhém případě budeme uvažovat odlišnost $R_i$ v~každé iteraci.

\subsection{Stejné matice \texorpdfstring{$R_i$}{Ri}}
\begin{comment}
Předpokládejme, že jsme kvadratickým kritériem posunuli jeden pól otevřené smyčky  do příslušné polohy v~uzavřené smyčce pomocí váhové matice $Q_0$. Stavovou zpětnou vazbu označme $F_0$ a řešení algebraické Riccatiho rovnice $P_0$. Váhová matice vstupu je pro všechny iterace stejná, budeme ji značit standardně $R$.
\end{comment}
Uvedeme zde rekurzivní proceduru, jak získat váhovou matici $Q$ a matici stavové zpětné vazby $F$, která bude realizovat posunutí  pólů do příslušných poloh. Tento postup je převzat z~\citep{solheim}.

Předpokládejme, že realizujeme $k$ posunutí vlastních čísel (nebo komplexně sdružených vlastních čísel) matice $A$.

\begin{algoritmusBezKoncoveCary}[Posunování při konstantní $R_i$]\label{postup:konstantniR}
\begin{enumerate}
\item Inicializace $Q = 0$, $F = 0$, $P=0$, $i=0$.
\item \label{item:zv} $A_i = A+BF$.
\item $i=i+1$.
	\item Výpočet $Q_i$, $P_i$ a $F_i$ pomocí z~matice $A_{i-1}$, tak abychom posunuli jedno reálné vlastní číslo $\lambda_1$ nebo dvě komplexně sdružená vlastní čísla $\lambda_2$ a $\overline{\lambda}_2$.
	\item\label{item:qi} $Q = Q+Q_i$, $P = P+ P_i$,  $F = F+ F_i$.
	\item Je-li $i <k$, potom pokračujeme bodem \ref{item:zv}.
	\end{enumerate}
\vspace{-0.25cm}
\hrule height 1pt
\end{algoritmusBezKoncoveCary}
	Uvedený rekurzivní postup je založen na skutečnosti, že různé $Q_i$, $P_i$ a $F_i$ lze sčítat, abychom ve výsledku dostali celkovou matici $Q$, $P$ a $F$, která bude realizovat posunutí všech pólů do příslušných poloh. Tato vlastnost není tak zřejmá, proto zde uvedeme její důkaz, alespoň pro posunutí dvou vlastních čísel.

	%\begin{proof}
	Předpokládejme, že pomocí stavové zpětné vazby $F_1$ \eqref{eq:PREF0} posuneme jeden reálný pól nebo komplexně sdruženou dvojici do žádané polohy. K~takovému posunutí potřebujeme znát řešení ARE ve tvaru \eqref{eq:PREARE0}
	\begin{subequations}
	\begin{align}
	F_1&=-R^{-1}B^{\rm T}P_1\,,\label{eq:PREF0}\\
	0 &= A^{\rm T}P_1  + P_1 A~- P_1 BR^{-1}B^{\rm T}P_1 +Q_1\,. \label{eq:PREARE0}
	\end{align}
	\label{eq:PRE0}
	\end{subequations}
	Výpočtem $Q_1$, $P_1$ a $F_1$ jsme provedli první krok uvedeného algoritmu. Druhým je posunutí dalšího vlastního čísla, které už vychází z~matice $A+BF_1$
	\begin{subequations} 
	\begin{align}
	F_2&=-R^{-1}B^{\rm T}P_2\,,\label{eq:PREF1}\\
	0 &= (A+BF_1)^{\rm T}P_2  + P_2 (A+BF_1) - P_2 BR^{-1}B^{\rm T}P_2 +Q_2\,.\label{eq:PREARE1}
	\end{align}
	\end{subequations}
	Podle bodu \ref{item:qi} postupu \ref{postup:konstantniR} by mělo $P=P_1 + P_2$ splňovat ARE ve tvaru 
	\begin{equation}
	0 = A^{\rm T}P  + P A~- P BR^{-1}B^{\rm T}P +Q\,.
	\label{eq:PREARE}
	\end{equation}
	Dosadíme-li $Q = Q_1 + Q_2$ a $P=P_1 + P_2$ a předpokládáme-li $F= F_1+F_2$, potom dostáváme
	\begin{align}
	0 &= A^{\rm T}P_1 + A^{\rm T}P_2 +P_1A + P_2A - (P_1 +P_2)BR^{-1}B^{\rm T}(P_1+P_2) + Q_1 + Q_2\,,\nonumber \\
	&= A^{\rm T}P_1  + P_1 A~- P_1 BR^{-1}B^{\rm T}P_1 +Q_1+\nonumber \\
	&~~ +A^{\rm T}P_2  + P_2 A~- P_1 BR^{-1}B^{\rm T}P_2 - P_2 BR^{-1}B^{\rm T}P_1 - P_2 BR^{-1}B^{\rm T}P_2  +Q_2\,, \nonumber\\
	&= A^{\rm T}P_1  + P_1 A~- P_1 BR^{-1}B^{\rm T}P_1 +Q_1+\nonumber \\
	&~~+ (A+BF_1)^{\rm T}P_2  + P_2 (A+BF_1) - P_2 BR^{-1}B^{\rm T}P_2 +Q_2\,. \label{eq:PREAREkonec} 
		%
	\end{align}
	Rovnici \eqref{eq:PREAREkonec} jsme dokázali vyjádřit pomocí rovnic  \eqref{eq:PREARE0} a  \eqref{eq:PREARE1} a rovnice  \eqref{eq:PREARE} má tedy řešení $P=P_1+P_2$ pro $Q = Q_1 + Q_2$ a $F = F_1+F_2$. Na čtenáři přenecháme analogický důkaz aditivnosti $Q_i$, $P_i$, $F_i$ při posunutí obecně $k$ pólů.

	Na závěr této sekce je vhodné zmínit, že různé pořadí posunování pólů může vést k~různým váhovým maticím $Q$, které realizují posun celé sady pólů do žádané polohy. Tato vlastnost bude ukázána v~příkladu v~kapitole o~posunování reálných pólů.
	%_\newpage
	\subsection{Různé matice \texorpdfstring{$R_i$}{Ri}}
	V~předešlé podsekci jsme využili vlastnosti, že váhové matice $Q_i$, matice zpětné vazby $F_i$ a řešení ARE $P_i$ lze sčítat. To jsme dokázali pomocí sady rovnic \eqref{eq:PRE0} až \eqref{eq:PREAREkonec}. Pokud bychom stejný postup aplikovali na případ, kdy $R_1\neq R_2$, potom  by odvození končilo v~druhém kroku rovnice \eqref{eq:PREAREkonec}. Aditivnost v~tomto případě neplatí. Nezbývá než upravit postup \ref{postup:konstantniR}.
\newpage

\begin{algoritmusBezKoncoveCary}[Posunování při různých $R_i$]
	 \begin{enumerate}
	\item Inicializace  $F = 0$, $i=0$.
	\item \label{item:zvruzny} $A_i = A+BF$.
	\item $i=i+1$.
	\item Výpočet $Q_i$, $P_i$ a $F_i$ pomocí z~matice $A_{i-1}$ tak, abychom posunuli jedno reálné vlastní číslo $\lambda_1$ nebo dvě komplexně sdružená vlastní čísla $\lambda_2$ a $\overline{\lambda}_2$.
	\item\label{item:fi}  $F = F+ F_i$.
	\item Je-li $i <k$, potom pokračujeme bodem \ref{item:zv}.
	\end{enumerate}
\vspace{-0.25cm}
\hrule height 1pt
\end{algoritmusBezKoncoveCary}
\vspace{-0.5cm}
	Změna nastala hlavně v~bodě \ref{item:fi}, ale jedná se o~změnu výraznou, která například způsobí, že neznáme celkovou matici $Q$, která posune sadu pólů otevřené smyčky do požadovaných poloh uzavřené smyčky. Zachovala se pouze aditivnost stavové zpětné vazby, jak ukazuje rovnice \eqref{eq:PREposledni}
\begin{subequations}
\begin{align}
u(t)  &=  F_1 x(t) +r_1 (t)\,, &\dot{x}(t) &= (A+BF_1)x(t) + Br_1(t)\,,\\
r_1(t) &= F_2x(t) + r_2(t)
\,,
&\dot{x}(t) &= (A+B(F_1 + F_2) )x(t) + Br_2(t)\,.%\mbox{~~~~}
\end{align}
\label{eq:PREposledni}
\end{subequations}
\vspace{-0.1cm}
Zde jsme využili i externí vstup stavové zpětné vazby \eqref{eq:state_feedback}.
Postupný návrh stavové zpětné vazby, která posune póly do požadovaných poloh je znázorněn na obrázku \ref{fig:navrhZV}.
\begin{figure}[!htb]
\begin{center}
%\includegraphics[scale=0.535]{images/iterativniNavrh.pdf}
\includegraphics[scale=0.51]{images/iterativniNavrh.pdf}
\caption{Iterativní návrh stavové zpětné vazby}\label{fig:navrhZV}
\end{center}

\end{figure}


%\begin{figure*}
%\begin{picture}(200,200)(0,0)
%
%\end{picture}
%\end{figure*}

